package com.czmh.etc.onlinepubsys.request.mingchuang;

import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * Copyright (C), 2017-2020
 * Author: Chenzj
 * Date: 2020/12/7 20:47
 * FileName: UnionPayAddRequest
 * Description:
 */
@Data
@ApiModel("铭创银联对接-1.4.1-新增会员接口请求参数")
public class UnionPayAddRequest {
    @ApiModelProperty(notes = "会员名称", required = true)
    private String username;//会员名称

    @ApiModelProperty(notes = "会员编码(唯一)", required = true)
    private String usercode;//会员编码(唯一)

    @ApiModelProperty(notes = "账户名", required = true)
    private String accountname;//账户名

    @ApiModelProperty(notes = "卡号", required = true)
    private String bankaccount;//卡号

    @ApiModelProperty(notes = "开户支行名称(工行对公户时必填)")
    private String bank;//开户支行名称(工行对公户时必填)

    @ApiModelProperty(notes = "联行号(工行对公户时必填)")
    private String bankcode;//联行号(工行对公户时必填)

    @ApiModelProperty(notes = "账户类型1=个人账户0=企业", required = true)
    private String accounttype;//账户类型1=个人账户0=企业

    @ApiModelProperty(notes = "银行卡类型,默认1, 1=储蓄卡2=信用卡", required = true)
    private Integer bankcardtype;//银行卡类型,默认1, 1=储蓄卡2=信用卡

    @ApiModelProperty(notes = "手机号", required = true)
    private String mobilephone;//手机号

    @ApiModelProperty(notes = "身份证号", required = true)
    private String idcardno;//身份证号

    @ApiModelProperty(notes = "会员地址")
    private String address;//会员地址

    @ApiModelProperty(notes = "营业执照号(工行对公户时必填)")
    private String businesslicenseno;//营业执照号(工行对公户时必填)

    @ApiModelProperty(notes = "法人名称(工行对公户时必填)")
    private String legalperson;//法人名称(工行对公户时必填)

    @ApiModelProperty(notes = "(对私)身份证正面(对公)法人身份证正面采用 base64 编码，图片大小限制视实际要求", required = true)
    private String certfront;//(对私)身份证正面(对公)法人身份证正面采用 base64 编码，图片大小限制视实际要求

    @ApiModelProperty(notes = "(对私)身份证反面(对公)法人身份证反面采用 base64 编码，图片大小限制视实际要求", required = true)
    private String certback;//(对私)身份证反面(对公)法人身份证反面采用 base64 编码，图片大小限制视实际要求

    @ApiModelProperty(notes = "营业执照采用 base64 编码,图片大小限制采用base64 编码，图片大小限制视实际要求(工行对公户时必填)")
    private String buslicense;//营业执照采用 base64 编码,图片大小限制采用base64 编码，图片大小限制视实际要求(工行对公户时必填)

    @ApiModelProperty(notes = "企业证件类型,1=三证三号,2=三证合一,0=个体工商户")
    private String corpcerttype;//企业证件类型,1=三证三号,2=三证合一,0=个体工商户

    @ApiModelProperty(notes = "税务登记号 企业证件类型 为 1 时必填")
    private String taxregno;//税务登记号 企业证件类型 为 1 时必填

    @ApiModelProperty(notes = "组织机构代码 企业证件类型 为 1 时必填")
    private String orgcodecertno;//组织机构代码 企业证件类型 为 1 时必填

    @ApiModelProperty(notes = "开户许可证核准号或基本存款账户编号")
    private String openliccmii;//开户许可证核准号或基本存款账户编号

    @ApiModelProperty(notes = "经办人邮箱")
    private String emailaddress;//经办人邮箱

    @ApiModelProperty(notes = "证件类型(对私个人、对公法人)1 - 身份证 2 - 护照 3 - 港澳通行证 4 - 台湾往来大陆通行证 5 - 临时身份证", required = true)
    private String customercerttype;//证件类型(对私个人、对公法人)1 - 身份证 2 - 护照 3 - 港澳通行证 4 - 台湾往来大陆通行证 5 - 临时身份证

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd")
    @ApiModelProperty(notes = "证件起始日期(对私身份证，对公营业执照；    格式:yyyy-MM-dd) (工行对公户时必填)", required = true)
    private String customercertexpiry;//证件起始日期(对私身份证，对公营业执照；    格式:yyyy-MM-dd) (工行对公户时必填)

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd")
    @ApiModelProperty(notes = "证件截止日期(对私身份证，对公营业执照；格式:yyyy-MM-dd)长期请填写 2099-12-31(工行对公户时必填)", required = true)
    private String customercertexpiryend;//证件截止日期(对私身份证，对公营业执照；格式:yyyy-MM-dd)长期请填写 2099-12-31(工行对公户时必填)

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd")
    @ApiModelProperty(notes = "法人证件起始日期(对私不需要，格式:yyyy-MM-dd) (工行对公户时必填)")
    private String corpratecertexpiry;//法人证件起始日期(对私不需要，格式:yyyy-MM-dd) (工行对公户时必填)

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd")
    @ApiModelProperty(notes = "法人证件截止日期(对私不需要，格式:yyyy-MM-dd)  长期请填写 2099-12-31(工行对公户时必填)")
    private String corpratecertexpiryend;//法人证件截止日期(对私不需要，格式:yyyy-MM-dd)  长期请填写 2099-12-31(工行对公户时必填)

}
